using System;
using System.Collections.Generic;
using System.Text;

namespace Coordenadas
{
    public class LatLong
    {
        double longitud;
        double latitud;
        string valor;
        public LatLong() { 
        
        }
        public LatLong(double latitud, double longitud, String valor)
        {
            this.longitud = longitud;
            this.latitud = latitud;
            this.valor = valor;
        }
        public LatLong(double latitud, double longitud)
        {
            this.longitud = longitud;
            this.latitud = latitud;
        }
        
        /*agregado para obtener inicializar latitud y longitud en formato string*/
        public LatLong(string latitud, string longitud)
        {
            System.Globalization.NumberFormatInfo nfi = new System.Globalization.CultureInfo("en-US", false).NumberFormat;

            try
            {   //reemplazar la coma por el punto
                if (latitud.Contains(","))
                    latitud = latitud.Replace(',', '.');

                if (longitud.Contains(","))
                    longitud = longitud.Replace(',', '.');

                this.longitud = double.Parse(longitud, nfi);
                this.latitud = double.Parse(latitud, nfi);
            }
            catch (Exception)
            {
                this.longitud = 0;
                this.latitud = 0;
            }
        }

        /*agregado para obtener inicializar latitud y longitud en formato string*/
        public LatLong(string latitud, string longitud, String _valor)
        {
            System.Globalization.NumberFormatInfo nfi = new System.Globalization.CultureInfo("en-US", false).NumberFormat;

            try
            {   //reemplazar la coma por el punto
                if (latitud.Contains(","))
                    latitud = latitud.Replace(',', '.');

                if (longitud.Contains(","))
                    longitud = longitud.Replace(',', '.');

                this.longitud = double.Parse(longitud, nfi);
                this.latitud = double.Parse(latitud, nfi);
                this.valor = _valor;
            }
            catch (Exception)
            {
                this.longitud = 0;
                this.latitud = 0;
                this.valor = "";
            }
        }

        public double Longitud{
            get { return longitud; }
            set { longitud = value; }
        }

        public String Nombre
        {
            get { return valor; }
            set { valor = value; }
        }
        public double Latitud {
            get { return latitud; }
            set { latitud = value; } 
        }

        public override string ToString()
        {
            return "Lat: " + latitud + " Long: " + longitud;
        }

    }
}
